home *** CD-ROM | disk | FTP | other *** search
- /*
- * bonobo-ui.idl: Handles some User Interface issues for components
- *
- * Copyright (C) 2000 Helix Code, Inc.
- *
- * Author:
- * Michael Meeks (michael@helixcode.com)
- */
-
- #ifndef BONOBO_UI_IDL
- #define BONOBO_UI_IDL
-
- #include "Bonobo_Unknown.idl"
-
- module Bonobo {
- interface UIContainer;
-
- interface UIComponent : Bonobo::Unknown {
-
- void setContainer (in UIContainer container);
- void unsetContainer ();
-
- readonly attribute string name;
-
- enum EventType {
- STATE_CHANGED,
- OTHER
- };
-
- /*
- * Returns an XML description of all available verbs.
- */
- string describeVerbs ();
-
- /*
- * Allows a remote user to execute a verb by name.
- */
- oneway void execVerb (in string cname);
-
- /*
- * Allows a remote user to flag an event
- */
- oneway void uiEvent (in string id,
- in EventType type,
- in string state);
-
- /**
- * unImplemented:
- *
- * placeholders for future expansion.
- */
- void unImplemented ();
- void unImplemented2 ();
- void unImplemented3 ();
- void unImplemented4 ();
- };
-
- interface UIContainer : Bonobo::Unknown {
- exception MalformedXML {};
- exception InvalidPath {};
- exception NonExistentAttr {};
- exception Insensitive {};
- exception Unknown {};
-
- /* FIXME: broken, should use set/get object instead */
- void registerComponent (in string component_name,
- in Bonobo::UIComponent component);
-
- oneway void deregisterComponent (in string component_name);
-
- oneway void freeze ();
- oneway void thaw ();
-
- oneway void setAttr (in string path,
- in string attr,
- in string value,
- in string component_name);
- string getAttr (in string path, in string attr)
- raises (InvalidPath, NonExistentAttr);
-
- void setNode (in string path, in string xml,
- in string component_name)
- raises (MalformedXML, InvalidPath);
-
- string getNode (in string path,
- in boolean nodeOnly)
- raises (InvalidPath);
-
- void removeNode (in string path,
- in string by_component_name)
- raises (InvalidPath);
-
- boolean exists (in string path);
-
- void execVerb (in string cname)
- raises (Insensitive, Unknown);
-
- void uiEvent (in string id,
- in UIComponent::EventType type,
- in string state)
- raises (Insensitive, Unknown);
-
- /*
- * Currently the object should be a Bonobo::Control interface
- * but this may be changed to a string based Moniker approach.
- *
- * The control's property bag will have the following
- * properties set on it in various circumstances:
- *
- * bonobo:ui:vertical boolean
- */
- void setObject (in string path,
- in Bonobo::Unknown control)
- raises (InvalidPath);
-
- Bonobo::Unknown getObject (in string path)
- raises (InvalidPath);
-
- /**
- * unImplemented:
- *
- * placeholders for future expansion.
- */
- void unImplemented ();
- void unImplemented2 ();
- void unImplemented3 ();
- void unImplemented4 ();
- };
- };
-
- #endif /* BONOBO_UI_IDL */
-